草庐IT

node.js - npm publish 是否执行 npm 包

全部标签

c - Ruby 的 Enumerable#zip 是否在内部创建数组?

在Ruby-ComparetwoEnumeratorselegantly,据说Theproblemwithzipisthatitcreatesarraysinternally,nomatterwhatEnumerableyoupass.There'sanotherproblemwithlengthofinputparams我查看了YARV中Enumerable#zip的实现,并看到了staticVALUEenum_zip(intargc,VALUE*argv,VALUEobj){inti;IDconv;NODE*memo;VALUEresult=Qnil;VALUEargs=rb_ar

ruby-on-rails - 使用 constantize 在 ruby​​ 中远程执行代码

当使用contantize时,我正试图解决ruby​​/rails中的远程代码执行漏洞。我知道能够向服务器提供任何类名可能存在潜在危险,但我想知道这本身是否危险。例如,如果RailsController代码看起来像这样(即在实例化对象上执行硬编码方法):klass=params[:class].classify.constantizeklass.do_something_with_id(params[:id])ifklass.respond_to?('do_something_with_id')此代码易受攻击吗?还是只能结合指定要在类上调用的方法? 最佳答案

ruby - 在 npm 项目中安装 ruby​​ gems

我有一个依赖于ruby​​gem的node.js项目。是否有可能以某种方式创建一个安装过程,以简单的方式安装gem依赖项?理想情况下,当我这样做时npminstall要安装npm依赖项,如果还安装了所需的ruby​​gem,那就太好了。两者之间有某种桥梁吗?如果没有,是否有人对此进行了调查并找到了建议的最佳做法或在这些情况下解决问题? 最佳答案 理论上,npm-scripts提供在npminstall期间运行脚本的工具。例如,您可以将这些行添加到您的package.json:{"scripts":{"preinstall":"/us

ruby - 错误:执行 gem 时 ... (Zlib::GzipFile::Error) 不是 gzip 格式

我正在开发Senchatouch2应用程序。我一直在关注“StylingtheuserinterfaceofaSenchaTouchapplication”关于sechatouch应用程序主题的教程。它需要我安装Ruby、Compass和SASS。我使用ruby​​installer.org中的安装程序安装了Ruby。在执行以下命令时,我得到了确认正确安装的预期结果:C:\>ruby-vruby1.9.3p327(2012-11-10)[i386-mingw32]当前源是最新的:C:\>gemsources**CURRENTSOURCES**http://rubygems.org/接下

ruby - 是否有使用 Google Images API 的 Ruby gem?

我需要在我的Rails应用程序上与GoogleImagesAPI对话。是否有Rubygem可以做到这一点?我发现了一个使用已弃用API的旧gem。 最佳答案 有一个名为google_custom_search_api的gem,它使用较新的google自定义搜索API:https://github.com/wiseleyb/google_custom_search_api您可以通过为searchType参数指定image将其限制为图像搜索,如下所示:results=GoogleCustomSearchApi.search("poker

ruby - 当应用程序关闭时,我要在 Sinatra 中的什么位置放置要执行的代码?

我正在为我的网络应用程序使用Sinatra。当我的应用程序关闭时,我有一些要执行的清理代码。Sinatra中是否有针对此的Hook,还是我必须使用单独的机制? 最佳答案 看Kernel#at_exit,如果您在主应用程序文件中的某处定义这样的block,我不明白为什么它不能在Sinatra应用程序中工作。更新:根据matt的评论,您必须在要求Sinatra之前定义您的at_exit处理程序。 关于ruby-当应用程序关闭时,我要在Sinatra中的什么位置放置要执行的代码?,我们在Sta

ruby - 是否有等效于 Rails `try` 函数的 Elixir?

在Rails中,您可以执行以下操作:@user.try(:contact_info).try(:phone_number)如果@user和contact_info都不为nil,则返回phone_number。如果其中之一为nil,则表达式将返回nil。我想知道在Elixir中最惯用的方法是什么,因为@user和contact_info是结构。 最佳答案 我认为一种方法是使用模式匹配,所以它会是这样的:caseuserdo%{contact_info:%{phone_number:phone_number}}whenphone_num

ruby - 我怎样才能可靠地发现 Ruby 可执行文件的完整路径?

我想写一个脚本,打包成一个gem,它将修改它的参数,然后用修改后的参数exec一个新的ruby进程。换句话说,类似于修改其参数然后执行exec$SHELL$*的shell脚本。为此,我需要一种可靠的方法来发现正在执行当前脚本的ruby​​可执行文件的路径。我还需要获取传递给当前进程的完整参数——Ruby参数和脚本参数。 最佳答案 Rake源代码是这样的:RUBY=File.join(Config::CONFIG['bindir'],Config::CONFIG['ruby_install_name']).sub(/.*\s.*/m,

ruby - Ruby 的 OpenSSL::Random 种子是否足够?

我对Ruby知之甚少,所以如果这个问题的答案显而易见,请原谅我。我注意到http://www.ruby-doc.org/stdlib-1.9.3/libdoc/securerandom/rdoc/SecureRandom.html当调用random_bytes时,Ruby使用pid和当前时间来播种OpenSSL::Random。除非幕后发生其他事情,否则这不正是Netscape在90年代中期在其最初的SSL实现中使用的种子吗?http://en.wikipedia.org/wiki/Random_number_generator_attack#Prominent_examples_of

ruby - Jekyll:检查帖子内容是否为空

我在Jekyll项目中有一系列帖子,其中一些只有标题,一些有标题和内容。我想在每种情况下对帖子做不同的事情。例如:{%forpostinsite.categories.publications%}{{post.title}}{%ifpost.content==""orpost.content==nilorpost.content==blank%}Nothinghere.{%else%}{{post.content}}{%endif%}{%endfor%}但是if语句实际上并没有捕获空帖子。我的条件基于thispage,但是这3种可能性都没有捕捉到空帖子。关于如何处理这些帖子有什么想法吗